package cn.tedu.stringx;

public class StringDemo2 {
    public static void main(String[] args) {
        //intern 获取字符串在常量池中的地址
//        String str = "hello";
//        String str1 = new String("hello");
//        String str2 = str1.intern();//str1对应的字符串转为常量池中的地址
//        System.out.println(str==str1);//false
//        System.out.println(str==str2);//true

        //isEmpty()  判断空串
//        String str = null;
//        str.length();//NPE异常
//        String str1 = "";
//        String str1 = new String();
//        System.out.println(str1.length());
//        System.out.println(str1.isEmpty());
        //非空校验 null 空串
//        String name = "a";
//        if(name!=null&&!name.isEmpty()){
//            System.out.println("非空");
//        }
//        System.out.println(isNotEmpty(name));

        //replace
//        String str = "hello world!";
        //l替换为k
//        String res = str.replace('l','k');
//        System.out.println(str);//不变
//        System.out.println(res);//替换之后的结果 hekko workd!

//        String str = "hello world hello!";
//        //hello  替换为hi
//       String res =  str.replace("hello","hi");
//        System.out.println(res);

        //练习
        //统计空格的个数
//        String str = "hello world a b c";//""
//        int count = 0;
        //字符串遍历
//        for (int i = 0; i <str.length() ; i++) {
//            char c = str.charAt(i);
//            if(c == ' '){
//                count++;
//            }
//        }
//        System.out.println("空格"+count);
//        String str = "hello world a b c";
//        //替换
//        String str1 =  str.replace(" ","");
//        System.out.println(str1);
//        System.out.println(str.length()-str1.length());

        //截取 文件操作 流操作
//        String fileName = "StringDemo.java";
        //获取类名
//        String res = fileName.substring(0,10);
//        System.out.println(res);
        //身份证号
        //截取出生年月日
//        String id = "130666200008020867";
//        String birthday = id.substring(6,14);
//        System.out.println(birthday);

        //toCharArray
//        String str = "hello";
//        //字符串转字符数组
//        char[] cs = str.toCharArray();
//        System.out.println(cs);

        //转换大小写
//        String str = "a5R7";
////        System.out.println(str.toLowerCase());
////        System.out.println(str.toUpperCase());
//        String valistr = "a5r7";
//        str = str.toLowerCase();
//        valistr = valistr.toLowerCase();
//        if(str.equals(valistr)){
//            System.out.println("验证码正确");
//        }

        //trim  头部和尾部的空白
//        String  str = "   hello world \t \r\n";
//        System.out.println(str);
//        System.out.println("------------------");
//        String str1 = str.trim();
//        System.out.println(str1);
//        System.out.println("aaa");

//        //valueOf
//       String res2 =  String.valueOf(true);
//        System.out.println(res2);//true
//        String res3 =  String.valueOf(3.14);
//        System.out.println(res3);//"3.14"
//       String res =  String.valueOf(3.14)+String.valueOf(1.5);
//        System.out.println(res);
        //int数组
//        String res = String.valueOf(new int[]{1,2,3,4});//[I@28d93b30
//        System.out.println(res);//数组.toString ->打印了地址
//        String res1 = String.valueOf(new char[]{'a','b'});//ab
//        System.out.println(res1);//return new String(字符数组)

//        System.out.println(new int[]{1,2,3,4});//[I@28d93b30
//        System.out.println(new char[]{'a','b'});//ab
//        Person p = new Person();
//        p.name = "zhangsna";
//        String pstr = String.valueOf(p);
//        System.out.println(pstr);


        //compareTo
        String str = "ab";
        String str1 = "abcd";
        System.out.println(str.compareTo(str1));
//        if(str.compareTo(str1) == 0){
//            System.out.println("相等");
//        }
    }
    //自己封装关于字符串对象不为空的判断
    public static boolean isNotEmpty(String str){
        return str!=null&&!str.isEmpty();
    }
}
class Person{
    String name;
}